package com.zdw.demo.service;

import com.zdw.common.parent.JSONResult;
import com.zdw.demo.dto.WechatRefundParam;
import com.zdw.demo.vo.WechatCallbackResult;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public interface WechatPayService {

    JSONResult createOrder(String outTradeNo, String description, double total, String appName);

    WechatCallbackResult callback(HttpServletRequest request, HttpServletResponse response);

    JSONResult queryOrderByWechat(String transactionId);

    JSONResult queryOrderByInner(String outTradeNo);

    JSONResult closeOrder(String outTradeNo);

    JSONResult notifyOrder();

    JSONResult refund(WechatRefundParam param);

    WechatCallbackResult refundCallback(HttpServletRequest request, HttpServletResponse response);

    JSONResult queryRefund(String outRefundNo);
}
